package com.hdu.dwh.service;

import java.sql.ResultSet;
import java.util.List;
import java.util.Set;

import com.hdu.dwh.pojos.QueryResult;

public interface TrinoQueryService {
    QueryResult executeQuery(String sql) throws Exception;

    QueryResult ConvertResultSetToQueryResult(ResultSet resultSet, long startTime, long endTime) throws Exception;

    QueryResult queryWithDatabaseAndTable(String database, String table, Integer limit, Integer offset) throws Exception;

    String getColumnType(String databaseName, String name, String name2) throws Exception;

    /**
     * 查询指定数据库中某个表的某个维度（列）的所有不同值。
     *
     * @param databaseName 要查询的数据库名称
     * @param tableName 要查询的表名称
     * @param dimension 要查询的维度（列）名称
     * @return 该维度的所有不同值的列表
     * @throws Exception 查询执行过程中发生的异常
     */
    Set<String> queryDimensionValues(String databaseName, String tableName, String dimension) throws Exception;

}
